home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga News 96
/
Amiga News 96.iso
/
dpat
/
dpat128
/
petit_joueur
/
pj.doc
< prev
next >
Wrap
Text File
|
1996-08-02
|
7KB
|
183 lines
+-----------------------------+
| PETIT-JOUEUR Version 2.0 |
| |
| © KalimérO Juillet 1996 |
+-----------------------------+
Tout est parti d'un petit défi lancé par un pote :
- "Dis-moi, serais-tu capable de me programmer un player de modules
ProTracker de 10 Ko maximum sans passer par une ligne de commande ?
J'en ai marre des players qui en mettent plein la vue avec des tonnes de
boutons partout dont on ne se sert pratiquement jamais, mais qui
squattent un max de mémoire !! Je cherche quelque chose de simple, petit
et pratique.."
- "Oula.. 10 Ko, ça fait court ça.. surtout avec une interface graphique..
Disons 15 !"
- "Bah, tu fais dans la facilité, là !! Allez, en 12 Ko maxi, mais je veux
une interface à la gadtools avec sélecteur de fichier ASL et compagnie !
Alors, qu'en dis-tu ?"
- "Rah, t'es un vrai requin en affaires, toi !! Mais je rélève le défi, ça
ne doit pas être si compliqué que ça finallement !"
..et puis il est parti..
Je me suis retrouvé tout seul et j'ai commencé à réfléchir (ça m'arrive..)
Quel outil allais-je utiliser ?
Le GFA ? Non, avec seulement 12 Ko, il ne faut pas y compter..
L'Amos ? Encore moins ! Rien que la bibliothèque Amos fait 46 Ko !!
Le Pascal ? Aaaaargh !! Pitié, j'en ai assez souffert !!
Le C ? Pourquoi pas ! Ah non...Je ne sais pas coder en C !!!
L'Assembleur ? Je pourrais.. en Z80 !!
Le Step 5 ou le PL7-3 ? Non, ça c'est sur automate, pas sur ordinateur !
Le Logo ? Ben voyons !!
Le Forth ? T'en a d'autres comme ça ?!!
Oui ! Le Cobol ? Arrête !
Le Lisp ? Pfffff..
Le Fortran ? Ca suffit !!
Le BrainFuck ? Le Modula ? Le Yax ? L'Arexx ? Le J ? Le E ? STOOOOOOOOOOOP !!!!
(...)
Attends...Qu'est-ce-que t'as dit en dernier, là ?
J'ai dit "STOOOOOOOOOOOP !!!!"
Non !! Avant..
Euh...
Oui ! Voilà, je le tiens mon langage !! Le
E
!!
Dérivé du C et du Modula avec la prise de tête en moins pour le code, hautement
procédural, programmation orientée objet, assembleur inline, des tonnes de
modules (includes) fournis, une vitesse de compilation hyper rapide, produit
des exécutables minis, etc...
Bref, l'idéal pour ce genre de programme !
Et voilà.. Après quelques heures de bidouille acharnée, Petit-Joueur est né !
Il dépasse les 12ko mais bon...
Par contre, limite oblige, il ne lit QUE les modules ProTracker..
Petit-Joueur ne s'exécute que s'il est lancé sous le système 2 ou plus.
Mais voilà, mon pote est revenu il y a peu..
- "Dis-moi, il est bien sympa ton proggy mais j'ai un problème.."
- "Oui, je t'écoute"
- "Bin parmi mes centaines de modules, j'en ai des tonnes qui sont
compressés avec PowerPacker et je ne peux pas les lire avec Petit-Joueur."
- "Mouaip..je te vois venir.. Bon, je vais voir ce que je peux faire."
Et il est reparti..
Après quelques heures de cogitation, c'était fait.
Petit-Joueur est désormais capable de gérer les modules PowerPackés.
ATTENTION : La PowerPacker.library est indispensable.
Beaucoup de sécurités ont été rajoutées avec leur cortège de messages d'erreur.
En deux mots : vous cliquez sur "Charger", vous choisissez un module, si vous
vous plantez, hop un message d'erreur, si c'est bon, vous cliquez sur "Jouer".
Quand vous en avez marre : "Stopper" et le silence reprend ses droits.
"Ejecter" renvoie le module dans ses quartiers (et libère la mémoire). Le
gadget "Filtre" permet de commuter le filtre ou de l'enlever.
"A propos" pour avoir un peu de lecture et en cliquant sur le bouton de
fermeture de la fenêtre, et après confirmation, zou, tout le monde dehors.
Toutes ces options sont accessibles depuis le menu.
Pas plus compliqué !
Un peu de technique :
Taille du source : 14907 octets (avec les commentaires).
Taille de l'exécutable : 14872 octets.
Compilé avec Amiga-E compiler v3.2e © Wouter Van Oortmerssen 1991-95.
Interface réalisée avec GadToolsBox v2.0b © Jaba Development 1991-93.
Fichier .gui traduit en code E avec Gui2E v0.1 © NazGûl 1993.
Contient trois gouttes d'assembleur (et pas du Z80 !)..
Historique :
- Version 1.0 (Mars 95) : Version initiale.
- Version 1.1 (Juillet 95) : Gère les modules PowerPackés.
Beaucoup de sécurités rajoutées.
Code plus optimisé.
- Version 2.0 (Juillet 96) :
Elle corrige un ENORME bug : les modules
pouvaient être chargés en mémoire FAST ce qui
les rendaient illisibles !! A présent seule la
mémoire CHIP est utilisée..
Le sélecteur de fichier est amélioré.
Le répertoire en cours est mémorisé.
Toutes les options sont accessibles par un menu.
Le menu s'adapte automatiquement au Kickstart
(Newlookmenu pour l'OS 3).
Une gestion du filtre est intégrée.
Toutes les erreurs sur fichier indiquent le nom
du fichier choisi.
Ne plante plus avec des noms de fichier trop longs
ou possédant un long chemin d'accès.
N'interrompt plus le module en cours si aucun
fichier n'est choisi dans le sélecteur de fichier.
Nouvelle interface graphique.
En fait, cette version aurait du être numérotée 1.2 mais elle a été changée en
2.0 pour faire la différence avec les v1.x qui plantent parfois avec de la FAST
RAM *:-(
Bug connu à ce jour : La détection automatique de l'état du filtre fonctionne
"quand elle veut" !
Si vous voulez me lancer d'autres défis (eh ! c'est pour rire !! ) :
Béryl DAVID
Résidence Parc du Château
4 place Vincent Van Gogh
33700 MERIGNAC
FRANCE
Plus rapide : 3614/15 Amigatel, bal KalimérO
Ce proggy est 100% FREEWARE. Vous pouvez donc le refiler à qui vous chante tant
que vous voulez sans pour autant vous en mettre plein les poches et à condition
de fournir tous les fichiers intacts.
Je tiens à remercier :
- Risitop et Offset du serveur Amigatel pour leurs inestimables astuces de
programmation.
- André "NazGûl" Capus pour ses nombreux sources E mis en domaine public dont
je me suis largement inspiré.
- Jaba Development pour le génial GadToolsBox.
- Olivier "Twenty One" Anh du BUGSS (Bordeaux Users Group of Scientific
Students) pour la traduction intégrale de la doc du E (je t'aurais bien
donné un coup de main, mais là, j'ai vraiment pas le temps..! *;)
- Wouter Van Oortmerssen (à vos souhaits !) pour avoir créé ce merveilleux
langage qu'est le E.
PowerPacker et la PowerPacker.library sont (c) par Nico François.
Voilà ! Amis codeurs, essayez le E, vous risquez vraiment d'être (agréablement)
surpris *;-)
Kali.
P.S. : Non, je vous assure que je ne suis pas fou (encore que..), je me parle
souvent quand je suis seul...surtout quand je code !!!